home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / commodore-scene-files / Coverdisks / CDU / V4D04.D64 / cheque book2 (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  14.1 KB  |  588 lines

  1. 1 S$="STANDING ORDER":S2$="SO"
  2. 2 REM S$="DIRECT DEBIT":S2$="DD"
  3. 3 PRINT"[147]":GOSUB60000
  4. 6 DIMSO$(10),SA$(10)
  5. 7 GOSUB20000
  6. 10 PRINT"[147]","[157][157][158]CHEQUE BOOK ORGANISER."
  7. 20 PRINT"[129]OPTIONS: [156]1. [155]ENTER PAY INS"
  8. 30 PRINT,"[156][157]2. [155]ENTER PAY OUTS"
  9. 35 PRINT,"[156][157]3. [155]ENTER "S$"S"
  10. 40 PRINT,"[156][157]4. [155]CHECK STATEMENT"
  11. 50 PRINT,"[156][157]5. [155]VIEW PAY INS/OUTS LEFT"
  12. 55 PRINT,"[156][157]6. [155]EDIT PAY INS/OUTS & BALANCE"
  13. 57 PRINT,"[156][157]7. [155]EDIT "S$"S"
  14. 60 PRINT,"[156][157]8. [155]SAVE FILE AND END"
  15. 65 PRINT,"[156][157]9. [155]END"
  16. 70 GETA$
  17. 80 A=VAL(A$):IFA<1ORA>9THEN70
  18. 85 IFNO=NAND(A=1ORA=2)THEN40000
  19. 86 IFNO+SO>NANDA=3THEN40000
  20. 90 XT=0:ONAGOTO100,300,4000,500,1000,2000,3000,30000
  21. 91 PRINT"[158]ARE YOU SURE? ";
  22. 92 GETA$:IFA$="N"THEN10
  23. 93 IFA$<>"Y"THEN92
  24. 94 PRINTA$;:END
  25. 100 NO=NO+1
  26. 101 PRINT"[147][129]ENTER PAY INS"
  27. 102 PRINT"[155]ENTER \0 TO END"
  28. 105 PRINT"[155]AMOUNT PAID IN:[158] \";:GOSUB12000
  29. 110 IFB$=""THENNO=NO-1:GOTO10
  30. 115 A$(NO)="+"+B$
  31. 120 B$="PAID IN":GOSUB11110:CQ$(NO)=B$
  32. 130 PRINT:PRINT"[155]DATE ([156]DD[155]/[156]MM[155]/[156]YY[155]):[158] ";:GOSUB10000
  33. 140 P(NO)=0
  34. 150 PRINT:PRINT""D$(NO)CQ$(NO)"\"RIGHT$(A$(NO),8)
  35. 160 PRINT"[158]IS THIS CORRECT?"
  36. 165 GETA$:IFA$="N"THENPRINT"":GOTO102
  37. 170 IFA$<>"Y"THEN165
  38. 180 GOTO100
  39. 300 NO=NO+1
  40. 301 PRINT"[147][129]ENTER PAY OUTS"
  41. 302 PRINT"[155]ENTER \0 TO END"
  42. 305 PRINT"[155]AMOUNT PAID OUT:[158] \";:GOSUB12000
  43. 310 IFB$=""THENNO=NO-1:GOTO10
  44. 315 A$(NO)="-"+B$
  45. 320 PRINT:PRINT"[155]DATE ([156]DD[155]/[156]MM[155]/[156]YY[155]):[158] ";:GOSUB10000
  46. 330 PRINT:PRINT"[155]INPUT CHEQUE NUMBER AND/OR DESCRIPTION:[158]":GOSUB11000
  47. 335 CQ$(NO)=B$
  48. 340 P(NO)=0
  49. 350 PRINT:PRINT""D$(NO)CQ$(NO)"\"RIGHT$(A$(NO),8)
  50. 360 PRINT"[158]IS THIS CORRECT?"
  51. 365 GETA$:IFA$="N"THENPRINT"":GOTO302
  52. 370 IFA$<>"Y"THEN365
  53. 380 GOTO300
  54. 500 PRINT"[147][129]CHECK STATEMENT":BA=BZ
  55. 501 IFNO=0THENPRINT"[158]NO TRANSACTIONS RECORDED.":GOSUB15000
  56. 502 IFNO=0THENPRINT"[159]BALANCE: \"BA$:PRINT"[158]PRESS ANY KEY."
  57. 503 IFNO=0THENPOKE198,0:WAIT198,1:POKE198,0:GOTO10
  58. 504 M2=0
  59. 505 PRINT"[154][164][164] [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]     [164][164][164][164][164][164]   [164][164][164][164][164]"
  60. 510 PRINT"MOCQ NO/DESCRIPTIONCREDITDEBIT"
  61. 512 GOSUB16000
  62. 515 J=1:M=0
  63. 516 FORI=1TONO:P(I)=0:NEXT
  64. 520 PRINT"[152]"
  65. 521 FORI=JTOJ+9
  66. 525 IFI>NO THENPRINT"                                       ":GOTO550
  67. 526 IFP(I)>0THENPRINT"";
  68. 530 IFLEFT$(A$(I),1)="+"THENPRINTMID$(D$(I),4,2)CQ$(I)RIGHT$(A$(I),8)"        "
  69. 540 IFLEFT$(A$(I),1)="-"THENPRINTMID$(D$(I),4,2)CQ$(I)"        "RIGHT$(A$(I),8)
  70. 550 NEXT
  71. 551 PRINT"                                   ":PRINT"[145][158]";
  72. 552 IFJ+9<NO THENPRINT"+[146] FOR NEXT PAGE ";
  73. 553 IFJ<>1THENPRINT"-[146] FOR PREVIOUS PAGE";
  74. 554 PRINT
  75. 560 P=J:PRINT"[158]";:GOSUB570:GOTO600
  76. 570 PRINT""
  77. 580 FORI=1TOP-J+1:PRINT:NEXT
  78. 585 IFP(P)>0THENPRINT"";
  79. 590 IFLEFT$(A$(P),1)="+"THENPRINTMID$(D$(P),4,2)CQ$(P)RIGHT$(A$(P),8)"        "
  80. 594 IFLEFT$(A$(P),1)="-"THENPRINTMID$(D$(P),4,2)CQ$(P)"        "RIGHT$(A$(P),8)
  81. 595 GOSUB15000
  82. 596 PRINT"",,"[159]BALANCE:\"BA$
  83. 597 IFBA=BZTHENPRINT,,"FROM LAST STATEMENT":RETURN
  84. 598 PRINT,,"                   ":RETURN
  85. 599 GOSUB570
  86. 600 P1=P
  87. 610 GETA$:IFA$=""THEN610
  88. 620 IFA$=" "ANDP(P)=0THENM=M+1:P(P)=M:PRINT"[158]";:M2=M2+1:BA=BA+VAL(A$(P)):GOTO599
  89. 625 IFA$=" "THENP(P)=0:PRINT"[158]";:M2=M2-1:BA=BA-VAL(A$(P)):GOTO599
  90. 627 IFA$=""ANDP=NO THEN610
  91. 630 IFA$=""ANDP<J+9THENPRINT"[152]";:GOSUB570:P=P+1:PRINT"[158]";:GOTO599
  92. 640 IFA$="[145]"ANDP>JTHENPRINT"[152]";:GOSUB570:P=P-1:PRINT"[158]";:GOTO599
  93. 650 IFA$="+"ANDJ+9<NO THENJ=J+10:GOTO520
  94. 660 IFA$="-"ANDJ>1THENJ=J-10:GOTO520
  95. 670 IFA$="Q"THEN10
  96. 680 IFA$=CHR$(13)ANDM2>0THEN700
  97. 690 GOTO610
  98. 700 PRINT"[147][129]BALANCE OK":GOSUB595:PRINT"[158]ARE YOU SURE?";
  99. 701 GETA$:IFA$="N"THEN500
  100. 702 IFA$<>"Y"THEN701
  101. 704 PRINTA$:PRINT"DO YOU REQUIRE A PRINTED STATEMENT? ";:BX=BA
  102. 705 GETA$:IFA$="N"THENPRINTA$:GOTO900
  103. 710 IFA$<>"Y"THEN705
  104. 720 PRINTA$:PRINT"TURN ON PRINTER AND PRESS A KEY"
  105. 730 GETA$:IFA$=""THEN730
  106. 735 PRINT"[129]INPUT STATEMENT NUMBER: ";:GOSUB12000:PRINT
  107. 740 OPEN4,4:PRINT#4
  108. 750 PRINT#4,"CHEQUE BOOK STATEMENT NUMBER:"LEFT$(B$,5)
  109. 755 PRINT#4
  110. 762 BN$=BA$:BA=BZ:GOSUB15000
  111. 765 PRINT#4,"PREVIOUS BALANCE: \"BA$
  112. 770 PRINT#4
  113. 775 PRINT#4,"DATE     CQ NO/DESCRIPTION     CREDIT    DEBIT"
  114. 780 FORI=1TOM
  115. 785 F=0
  116. 790 FORJ=1TONO:IFP(J)=ITHENF=J
  117. 795 NEXT
  118. 800 IFF=0THEN830
  119. 810 IFLEFT$(A$(F),1)="+"THENPRINT#4,D$(F)CQ$(F)RIGHT$(A$(F),8)
  120. 820 IFLEFT$(A$(F),1)="-"THENPRINT#4,D$(F)CQ$(F)"         "RIGHT$(A$(F),8)
  121. 830 NEXT
  122. 840 PRINT#4
  123. 850 PRINT#4,"     NEW BALANCE: \"BN$
  124. 860 CLOSE4
  125. 900 F=0
  126. 901 FORJ=1TONO:IFP(J)<>0THEN920
  127. 910 F=F+1:CQ$(F)=CQ$(J)
  128. 911 D$(F)=D$(J)
  129. 912 A$(F)=A$(J)
  130. 913 P(F)=0
  131. 920 NEXT
  132. 929 PRINT"[155]":IFF=0THENPRINT"0 ITEMS LEFT":GOTO940
  133. 930 PRINT"YOU STILL HAVE"F"ITEMS LEFT"
  134. 940 NO=F
  135. 950 PRINT" IN THE CHEQUE BOOK."
  136. 955 BZ=BX
  137. 960 PRINT"[158]PRESS A KEY TO RETURN TO MENU"
  138. 970 POKE198,0:WAIT198,1:POKE198,0:GOTO10
  139. 1000 PRINT"[147][129]VIEW PAY IN/OUTS":BA=BZ
  140. 1001 IFNO=0THENPRINT"[158]NO TRANSACTIONS RECORDED.":GOSUB15000
  141. 1002 IFNO=0THENPRINT"[159]BALANCE: \"BA$:PRINT"[158]PRESS ANY KEY."
  142. 1003 IFNO=0THENPOKE198,0:WAIT198,1:POKE198,0:GOTO10
  143. 1005 PRINT"[154][164][164] [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]     [164][164][164][164][164][164]   [164][164][164][164][164]"
  144. 1010 PRINT"MOCQ NO/DESCRIPTIONCREDITDEBIT"
  145. 1012 GOSUB16100
  146. 1013 GOSUB15000
  147. 1014 PRINT"",,"[157][159]STAT BAL:\"BA$
  148. 1015 FORI=1TONO:BA=BA+VAL(A$(I)):NEXT
  149. 1016 GOSUB15000
  150. 1017 PRINT,,"ACC BAL:\"BA$
  151. 1018 CB$=BA$:BA=BZ
  152. 1019 J=1
  153. 1020 PRINT"[152]"
  154. 1021 FORI=JTOJ+9
  155. 1025 IFI>NO THENPRINT"                                       ":GOTO1050
  156. 1030 IFLEFT$(A$(I),1)="+"THENPRINTMID$(D$(I),4,2)CQ$(I)RIGHT$(A$(I),8)"        "
  157. 1040 IFLEFT$(A$(I),1)="-"THENPRINTMID$(D$(I),4,2)CQ$(I)"        "RIGHT$(A$(I),8)
  158. 1050 NEXT
  159. 1051 PRINT"                                   ":PRINT"[145][158]";
  160. 1052 IFJ+9<NO THENPRINT"+[146] FOR NEXT PAGE ";
  161. 1053 IFJ<>1THENPRINT"-[146] FOR PREVIOUS PAGE";
  162. 1054 PRINT
  163. 1110 GETA$:IFA$=""THEN1110
  164. 1130 IFA$="P"THEN1200
  165. 1150 IFA$="+"ANDJ+9<NO THENJ=J+10:GOTO1020
  166. 1160 IFA$="-"ANDJ>1THENJ=J-10:GOTO1020
  167. 1170 IFA$="Q"THEN10
  168. 1190 GOTO1110
  169. 1200 PRINT"[147][129]PRINT":PRINT"[158]ARE YOU SURE?"
  170. 1201 GETA$:IFA$="N"THEN1000
  171. 1202 IFA$<>"Y"THEN1201
  172. 1220 PRINT"[147]TURN ON PRINTER AND PRESS A KEY"
  173. 1230 GETA$:IFA$=""THEN1230
  174. 1240 OPEN4,4:PRINT#4
  175. 1250 PRINT#4,"CHEQUE BOOK (OUTSTANDING)"
  176. 1255 PRINT#4
  177. 1262 BA=BZ:GOSUB15000
  178. 1265 PRINT#4,"LAST STATEMENT BALANCE: \"BA$
  179. 1267 PRINT#4,"      ACCOUNT  BALANCE: \"CB$
  180. 1270 PRINT#4
  181. 1275 PRINT#4,"DATE     CQ NO/DESCRIPTION     CREDIT    DEBIT"
  182. 1290 FORI=1TONO
  183. 1310 IFLEFT$(A$(I),1)="+"THENPRINT#4,D$(I)CQ$(I)RIGHT$(A$(I),8)
  184. 1320 IFLEFT$(A$(I),1)="-"THENPRINT#4,D$(I)CQ$(I)"         "RIGHT$(A$(I),8)
  185. 1330 NEXT
  186. 1340 PRINT#4
  187. 1360 CLOSE4
  188. 1370 GOTO1000
  189. 2000 PRINT"[147][129]EDIT PAY INS/OUTS":PRINT"AND BALANCE":BA=BZ
  190. 2001 IFNO=0THENPRINT"[158]NO TRANSACTIONS RECORDED.":GOSUB15000
  191. 2002 IFNO=0THENPRINT"[159]BALANCE: \"BA$:PRINT"[158]PRESS ANY KEY."
  192. 2003 IFNO=0THENPOKE198,0:WAIT198,1:POKE198,0:GOTO10
  193. 2005 PRINT"[154][164][164] [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]     [164][164][164][164][164][164]   [164][164][164][164][164]"
  194. 2010 PRINT"MOCQ NO/DESCRIPTIONCREDITDEBIT"
  195. 2012 GOSUB16200
  196. 2015 J=1
  197. 2016 FORI=1TONO:P(I)=0:NEXT
  198. 2020 PRINT"[152]"
  199. 2021 FORI=JTOJ+9
  200. 2025 IFI>NO THENPRINT"                                       ":GOTO2050
  201. 2026 IFP(I)>0THENPRINT"";
  202. 2030 IFLEFT$(A$(I),1)="+"THENPRINTMID$(D$(I),4,2)CQ$(I)RIGHT$(A$(I),8)"        "
  203. 2040 IFLEFT$(A$(I),1)="-"THENPRINTMID$(D$(I),4,2)CQ$(I)"        "RIGHT$(A$(I),8)
  204. 2050 NEXT
  205. 2051 PRINT"                                   ":PRINT"[145][158]";
  206. 2052 IFJ+9<NO THENPRINT"+[146] FOR NEXT PAGE ";
  207. 2053 IFJ<>1THENPRINT"-[146] FOR PREVIOUS PAGE";
  208. 2054 PRINT
  209. 2060 P=J:PRINT"[158]";:GOSUB570:GOTO2100
  210. 2099 GOSUB570
  211. 2100 P1=P
  212. 2110 GETA$:IFA$=""THEN2110
  213. 2127 IFA$=""ANDP=NO THEN2110
  214. 2130 IFA$=""ANDP<J+9THENPRINT"[152]";:GOSUB570:P=P+1:PRINT"[158]";:GOTO2099
  215. 2140 IFA$="[145]"ANDP>JTHENPRINT"[152]";:GOSUB570:P=P-1:PRINT"[158]";:GOTO2099
  216. 2150 IFA$="+"ANDJ+9<NO THENJ=J+10:GOTO2020
  217. 2160 IFA$="-"ANDJ>1THENJ=J-10:GOTO2020
  218. 2170 IFA$="Q"THEN10
  219. 2175 IFA$="B"THENPRINT"[147]":GOSUB596:GOSUB21020:GOTO2000
  220. 2180 IFA$=CHR$(13)THEN2300
  221. 2190 GOTO2110
  222. 2200 PRINT"[147][156]1.[158] DATE:        [159]"D$(P)
  223. 2210 PRINT"[156]2.[158] DISCRIPTION:[159]"CQ$(P)
  224. 2220 PRINT"[156]3.[158] AMOUNT:     [159]\"RIGHT$(A$(P),8)
  225. 2222 A$=LEFT$(A$(P),1)
  226. 2224 IFA$="-"THENA$="D"
  227. 2226 IFA$="+"THENA$="C"
  228. 2230 PRINT"[156]4.[158] C[146]REDIT/D[146]EBIT:[159] "A$
  229. 2240 RETURN
  230. 2300 GOSUB2200
  231. 2310 PRINT"[129]D[146]ELETE, E[146]DIT OR Q[146]UIT"
  232. 2320 GETA$:IFA$="Q"THEN2000
  233. 2330 IFA$="D"THEN2600
  234. 2340 IFA$<>"E"THEN2320
  235. 2350 GOSUB2200
  236. 2360 PRINT"[129]1[146],2[146],3[146],4[146] OR Q[146]UIT"
  237. 2370 GETA$:IFA$="Q"THEN2000
  238. 2380 A=VAL(A$):IFA=0ORA>4THEN2370
  239. 2390 ONAGOTO2400,2430,2460,2490
  240. 2400 TE=NO:NO=P:T$=D$(P)
  241. 2405 PRINT"[158]NEW DATE:[155]";:GOSUB10000
  242. 2410 PRINT:PRINT"[158]OK (Y/N)?":NO=TE
  243. 2420 GETA$:IFA$="N"THEND$(P)=T$:GOTO2350
  244. 2423 IFA$<>"Y"THEN2420
  245. 2426 GOTO2350
  246. 2430 PRINT"[158]NEW DESC:[155]";:GOSUB11000
  247. 2440 PRINT:PRINT"[158]OK (Y/N)?"
  248. 2445 GETA$:IFA$="N"THEN2350
  249. 2450 IFA$<>"Y"THEN2445
  250. 2455 CQ$(P)=B$:GOTO2350
  251. 2460 PRINT"[158]NEW AMOUNT:[155]\";:GOSUB12000
  252. 2470 PRINT:PRINT"[158]OK (Y/N)?"
  253. 2475 GETA$:IFA$="N"THEN2350
  254. 2480 IFA$<>"Y"THEN2475
  255. 2485 A$(P)=LEFT$(A$(P),1)+B$:GOTO2350
  256. 2490 PRINT"[158]CREDIT/DEBIT:[155]";
  257. 2500 GETA$:IFA$="C"THENB$="+":GOTO2520
  258. 2510 IFA$<>"D"THEN2500
  259. 2515 B$="-"
  260. 2520 PRINTA$
  261. 2530 PRINT"[158]OK (Y/N)?"
  262. 2540 GETA$:IFA$="N"THEN2350
  263. 2550 IFA$<>"Y"THEN2540
  264. 2560 A$(P)=B$+RIGHT$(A$(P),8):GOTO2350
  265. 2600 PRINT"[158]SURE (Y/N)?"
  266. 2610 GETA$:IFA$="N"THEN2300
  267. 2620 IFA$<>"Y"THEN2610
  268. 2630 FORI=P+1TONO
  269. 2640 CQ$(I-1)=CQ$(I)
  270. 2650 D$(I-1)=D$(I)
  271. 2660 A$(I-1)=A$(I)
  272. 2670 NEXT
  273. 2675 CQ$(NO)="":A$(NO)="":D$(NO)=""
  274. 2680 NO=NO-1
  275. 2690 GOTO2000
  276. 3000 PRINT"[147][129]EDIT "S$"S"
  277. 3005 PRINT"[154][164][164] [164][164][164][164][164][164][164][164][164][164][164][164][164][164]         [164][164][164][164][164]"
  278. 3010 PRINT"NO"S2$" DESCRIPTIONDEBIT"
  279. 3012 GOSUB16300
  280. 3020 PRINT"[152]"
  281. 3021 FORI=1TO10:B$=RIGHT$(STR$(I),2)
  282. 3030 PRINTB$SO$(I)RIGHT$(SA$(I),8)
  283. 3050 NEXT
  284. 3060 P=1:PRINT"[158]";:GOSUB3070:GOTO3100
  285. 3070 PRINT""
  286. 3080 FORI=1TOP:PRINT:NEXT
  287. 3090 PRINT""SO$(P)RIGHT$(SA$(P),8)
  288. 3095 RETURN
  289. 3099 GOSUB3070
  290. 3100 P1=P
  291. 3110 GETA$:IFA$=""THEN3110
  292. 3115 IFSO=0THEN3180
  293. 3127 IFA$=""ANDP=SOTHEN3110
  294. 3130 IFA$=""THENPRINT"[152]";:GOSUB3070:P=P+1:PRINT"[158]";:GOTO3099
  295. 3140 IFA$="[145]"ANDP>1THENPRINT"[152]";:GOSUB3070:P=P-1:PRINT"[158]";:GOTO3099
  296. 3170 IFA$=CHR$(13)THEN3300
  297. 3180 IFA$="Q"THEN10
  298. 3185 IFA$="P"THEN3700
  299. 3190 IFA$="A"ANDSO<10THEN3200
  300. 3195 GOTO3100
  301. 3200 PRINT"[147][129]ADD "S$:PRINT
  302. 3205 SO=SO+1
  303. 3210 PRINT"[155]ENTER \0 TO END"
  304. 3212 PRINT"[155]AMOUNT PAID OUT:[158] \";:GOSUB12000
  305. 3214 IFB$=""THENSO$(SO)="":SA$(SO)="":SO=SO-1:GOTO3000
  306. 3215 SA$(SO)="-"+B$
  307. 3230 PRINT:PRINT"[155]INPUT DESCRIPTION:[158]":GOSUB11000
  308. 3235 SO$(SO)=CHR$(160)+S2$+LEFT$(B$,18)
  309. 3250 PRINT:PRINT""SO$(SO)" \"RIGHT$(SA$(SO),8)
  310. 3260 PRINT"[158]IS THIS CORRECT?"
  311. 3265 GETA$:IFA$="N"THENPRINT"":GOTO3210
  312. 3270 IFA$<>"Y"THEN3265
  313. 3275 IFSO<10THEN3200
  314. 3280 GOTO3000
  315. 3300 GOSUB3310:GOTO3350
  316. 3310 PRINT"[147][156]1.[158] DISCRIPTION:[159]"SO$(P)
  317. 3320 PRINT"[156]2.[158] AMOUNT:     [159]\"RIGHT$(SA$(P),8)
  318. 3330 RETURN
  319. 3350 PRINT"[129]D[146]ELETE, E[146]DIT OR Q[146]UIT"
  320. 3360 GETA$:IFA$="Q"THEN3000
  321. 3370 IFA$="D"THEN3500
  322. 3380 IFA$<>"E"THEN3360
  323. 3390 GOSUB3310
  324. 3395 PRINT"[129]1[146],2[146] OR Q[146]UIT"
  325. 3400 GETA$:IFA$="Q"THEN3000
  326. 3410 A=VAL(A$):IFA=0ORA>2THEN3400
  327. 3420 ONAGOTO3430,3460
  328. 3430 PRINT"[158]NEW DESC:[155]";:GOSUB11000
  329. 3440 PRINT:PRINT"[158]OK (Y/N)?"
  330. 3445 GETA$:IFA$="N"THEN3390
  331. 3450 IFA$<>"Y"THEN3445
  332. 3455 SO$(P)=CHR$(160)+S2$+LEFT$(B$,18):GOTO3390
  333. 3460 PRINT"[158]NEW AMOUNT:[155]\";:GOSUB12000
  334. 3470 PRINT:PRINT"[158]OK (Y/N)?"
  335. 3475 GETA$:IFA$="N"THEN3390
  336. 3480 IFA$<>"Y"THEN3475
  337. 3485 SA$(P)="-"+B$:GOTO3390
  338. 3500 PRINT"[158]SURE (Y/N)?"
  339. 3510 GETA$:IFA$="N"THEN3300
  340. 3520 IFA$<>"Y"THEN3510
  341. 3530 FORI=P+1TOSO
  342. 3540 SO$(I-1)=SO$(I)
  343. 3550 SA$(I-1)=SA$(I)
  344. 3570 NEXT
  345. 3575 SO$(SO)="":SA$(SO)=""
  346. 3580 SO=SO-1
  347. 3590 GOTO3000
  348. 3700 PRINT"[147][129]PRINT":PRINT"[158]ARE YOU SURE?"
  349. 3701 GETA$:IFA$="N"THEN3000
  350. 3702 IFA$<>"Y"THEN3701
  351. 3720 PRINT"[147]TURN ON PRINTER AND PRESS A KEY"
  352. 3730 GETA$:IFA$=""THEN3730
  353. 3740 OPEN4,4:PRINT#4
  354. 3750 PRINT#4,S$"S"
  355. 3755 PRINT#4
  356. 3770 PRINT#4," "S2$"DESCRIPTION     AMOUNT"
  357. 3790 FORI=1TOSO
  358. 3795 PRINT#4,SO$(I)RIGHT$(SA$(I),8)
  359. 3800 NEXT
  360. 3810 PRINT#4:CLOSE4:GOTO3000
  361. 4000 PRINT"[147][129]ENTER "S$"S"
  362. 4001 IFSO=0THENPRINT"[158]NO "S$"S TO ENTER."
  363. 4002 IFSO=0THENPRINT"PRESS A KEY."
  364. 4003 IFSO=0THENPOKE198,0:WAIT198,1:POKE198,0:GOTO10
  365. 4010 PRINT"[158]ARE YOU SURE?";
  366. 4020 GETA$:IFA$="N"THEN10
  367. 4030 IFA$<>"Y"THEN4020
  368. 4040 PRINTA$
  369. 4050 XX=NO:NO=0
  370. 4060 PRINT"[155]DATE ([156]DD[155]/[156]MM[155]/[156]YY[155]):[158] ";:GOSUB10000
  371. 4070 NO=XX
  372. 4080 PRINT:PRINT"[159]CORRECT?";
  373. 4090 GETA$:IFA$="N"THEN4040
  374. 4095 IFA$<>"Y"THEN4090
  375. 4100 FORI=1TOSO
  376. 4110 D$(NO+I)=D$(0)
  377. 4120 CQ$(NO+I)=SO$(I)
  378. 4130 A$(NO+I)=SA$(I)
  379. 4140 NEXT
  380. 4150 NO=NO+SO:GOTO10
  381. 9999 END
  382. 10000 REM DATE INPUT
  383. 10010 D$(NO)=""
  384. 10020 GETA$:IFA$=""THEN10020
  385. 10021 IFA$=CHR$(13)ANDLEN(D$(NO))=8THENRETURN
  386. 10022 IFA$=CHR$(20)ANDLEN(D$(NO))>0THEN10080
  387. 10025 IFLEN(D$(NO))=8THEN10020
  388. 10029 IFA$="0"THEN10040
  389. 10030 IFVAL(A$)<1THEN10020
  390. 10040 IFLEN(D$(NO))=0ANDVAL(A$)>3THEN10020
  391. 10041 IFD$(NO)="3"ANDVAL(A$)>1THEN10020
  392. 10042 IFD$(NO)="0"ANDVAL(A$)=0THEN10020
  393. 10043 IFLEN(D$(NO))=3ANDVAL(A$)>1THEN10020
  394. 10044 IFMID$(D$(NO),4,1)="1"ANDLEN(D$(NO))=4ANDVAL(A$)>2THEN10020
  395. 10045 IFMID$(D$(NO),4,1)="0"ANDLEN(D$(NO))=4ANDVAL(A$)=0THEN10020
  396. 10050 IFLEN(D$(NO))=1THENA$=A$+"/"
  397. 10060 IFLEN(D$(NO))=4THENA$=A$+"/"
  398. 10065 D$(NO)=D$(NO)+A$:PRINTA$;
  399. 10070 GOTO10020
  400. 10080 L=1:IFLEN(D$(NO))=3THENL=2
  401. 10085 IFLEN(D$(NO))=6THENL=2
  402. 10090 D$(NO)=LEFT$(D$(NO),LEN(D$(NO))-L)
  403. 10100 PRINT"[157] [157]";:IFL=2THENPRINT"[157] [157]";
  404. 10110 GOTO10020
  405. 11000 REM TEXT INPUT
  406. 11010 B$="":L=0:S=1
  407. 11020 GETA$:IFA$=""THEN11020
  408. 11025 IFA$=CHR$(13)THEN11110
  409. 11030 IFA$=CHR$(20)ANDL>0THEN11100
  410. 11040 IFL=19THEN11020
  411. 11042 IFA$=" "ANDS=1THEN11020
  412. 11045 IFA$=" "ORA$="!"THEN11060
  413. 11050 IFA$<"#"ORA$>"_"THEN10020
  414. 11060 S=0:IFA$=" "THENS=1
  415. 11065 B$=B$+A$:L=L+1:PRINTA$;:GOTO11020
  416. 11100 S=0:PRINT"[157] [157]";:L=L-1:B$=LEFT$(B$,L):GOTO11020
  417. 11110 B$=CHR$(160)+B$
  418. 11115 IFLEN(B$)<21THENB$=B$+" ":GOTO11115
  419. 11120 RETURN
  420. 12000 REM VALUE  INPUT
  421. 12010 B$="":L=0
  422. 12020 GETA$:IFA$=""THEN12020
  423. 12025 IFA$=CHR$(13)ANDL=0THENB$="0.00":GOTO12400
  424. 12030 IFA$=CHR$(13)THENB$=B$+".00":GOTO12400
  425. 12040 IFA$=CHR$(20)ANDL>0THEN12100
  426. 12045 IFA$="."ANDL=0THENA$="0.":L=1:GOTO12200
  427. 12050 IFA$="."THEN12200
  428. 12060 IFL=5THEN12020
  429. 12065 IFB$="0"THEN12020
  430. 12070 IFA$="0"THEN12080
  431. 12075 IFVAL(A$)=0THEN12020
  432. 12080 PRINTA$;:B$=B$+A$:L=L+1:GOTO12020
  433. 12100 L=L-1:PRINT"[157] [157]";:B$=LEFT$(B$,L):GOTO12020
  434. 12200 L=L+1:B$=B$+A$:L1=0:C$="":PRINTA$;
  435. 12210 GETA$:IFA$=""THEN12210
  436. 12220 IFVAL(B$)=0ANDA$=CHR$(13)THENGOTO12405
  437. 12230 IFA$=CHR$(13)ANDL1=2THENB$=B$+C$:GOTO12400
  438. 12240 IFA$=CHR$(20)ANDL1>0THEN12300
  439. 12245 IFA$=CHR$(20)THEN12100
  440. 12260 IFL1=2THEN12210
  441. 12270 IFA$="0"THEN12280
  442. 12275 IFVAL(A$)=0THEN12210
  443. 12280 PRINTA$;:C$=C$+A$:L1=L1+1:GOTO12210
  444. 12300 L1=L1-1:PRINT"[157] [157]";:C$=LEFT$(C$,L1):GOTO12210
  445. 12400 IFLEN(B$)<8THENB$=" "+B$:GOTO12400
  446. 12405 IFVAL(B$)=0THENB$=""
  447. 12410 RETURN
  448. 15000 REM PRINT BALANCE
  449. 15010 B$=STR$(ABS(BA*100)):B$=RIGHT$(B$,LEN(B$)-1)
  450. 15015 IFLEN(B$)<3THENBA$="0":GOTO15030
  451. 15020 BA$=LEFT$(B$,LEN(B$)-2)
  452. 15030 BA$=BA$+"."
  453. 15040 IFLEN(B$)=1THENBA$=BA$+"0"+B$:GOTO15050
  454. 15045 BA$=BA$+RIGHT$(B$,2)
  455. 15050 IFLEN(BA$)<8THENBA$=" "+BA$:GOTO15050
  456. 15055 IFB$="0"THENB$="  ":GOTO15080
  457. 15060 B$=" C"
  458. 15070 IFBA<>ABS(BA)THENB$=" D"
  459. 15080 BA$=BA$+B$
  460. 15095 RETURN
  461. 16000 REM PRINT INFO
  462. 16010 PRINT"[158]SPACE[146] TO INCLUDE ON STATEMENT"
  463. 16020 PRINT"RETURN[146] WHEN BALANCE AGREES"
  464. 16025 PRINT"USE CRSR UP/DOWN TO MOVE LINE
  465. 16030 [153]"QWAIT TO RETURN TO MENU"
  466. 16040 [142]
  467. 16100 [143] PRINT INFO 2
  468. 16110 [153]"SYSPWAIT TO PRINTOUT INFO":[137]16030
  469. 16200 [143] PRINT INFO 3
  470. 16210 [153]"SYSRETURNWAIT TO EDIT LINE"
  471. 16220 [153]"BWAIT TO EDIT LAST STATEMENT BALANCE"
  472. 16230 [137]16025
  473. 16300 [143] PRINT INFO 4
  474. 16310 [153]"":[139]SO[178]0[167][153]:[153]
  475. 16315 [153]"SYSAWAIT TO ADD "S$
  476. 16320 [139]SO[177]0[167][153]"RETURNWAIT TO EDIT LINE"
  477. 16325 [153]"PWAIT TO PRINT "S$"S"
  478. 16330 [139]SO[177]0[137]16025
  479. 16335 [137]16030
  480. 17000 [143] ERROR
  481. 17010 [132]15,E1$,E2$,E3$,E4$
  482. 17020 [142]
  483. 20000 [143] LOAD DATA
  484. 20005 [153]"LOADRETURNSYSSEARCHING FOR CHEQUE DATA"
  485. 20010 [159]15,8,15,"I0"
  486. 20020 [159]5,8,5,"CHEQUE DATA,S,R"
  487. 20030 [141]17000
  488. 20040 [139][197](E1$)[177]0[167]21000
  489. 20045 [153]"LOADING"
  490. 20050 [132]5,BZ
  491. 20055 [132]5,N:[141]22000
  492. 20060 [132]5,NO
  493. 20070 [139]NO[178]0[167]20102
  494. 20080 [129]I[178]1[164]NO
  495. 20090 [132]5,CQ$(I)
  496. 20092 [132]5,D$(I)
  497. 20094 [132]5,A$(I)
  498. 20100 [130]
  499. 20102 [132]5,SO
  500. 20104 [139]SO[178]0[167]20120
  501. 20106 [129]I[178]1[164]SO
  502. 20110 [132]5,SO$(I)
  503. 20112 [132]5,SA$(I)
  504. 20114 [130]
  505. 20120 [160]5:[160]15
  506. 20130 [142]
  507. 21000 [153]"CLRERROR:OPEN"E1$" "E2$" "E3$" "E4$
  508. 21010 [160]5:[160]15
  509. 21015 N[178]50:[141]22000
  510. 21020 [153]"SYSSET UP BALANCE: \";:[141]12000
  511. 21030 BZ[178][197](B$):[153]
  512. 21035 [139]BZ[178]0[167]A$[178]"ON":[137]21060
  513. 21040 [153]"CREDIT OR DEBIT (C/D)? ";
  514. 21050 [161]A$:[139]A$[178]"C"[167]21060
  515. 21055 [139]A$[179][177]"D"[167]21050
  516. 21056 BZ[178][171]BZ
  517. 21060 [153]A$:[153]"LISTIS THIS OK? ";
  518. 21070 [161]A$:[139]A$[178]"Y"[167][142]
  519. 21080 [139]A$[179][177]"N"[167]21070
  520. 21090 [153]A$"":[137]21020
  521. 22000 [134]CQ$(N[170]1),D$(N[170]1),A$(N[170]1),P(N[170]1):[142]
  522. 30000 [153]"LOADFORSAVE AND END"
  523. 30001 [153]"SYSARE YOU SURE?"
  524. 30002 [161]A$:[139]A$[178]"N"[167]10
  525. 30003 [139]A$[179][177]"Y"[167]30002
  526. 30005 [153]"LOADSYSSAVING CHEQUE DATA"
  527. 30010 [159]15,8,15,"I0"
  528. 30020 [152]15,"S0:CHEQUE DATA"
  529. 30030 [159]5,8,5,"CHEQUE DATA,S,W"
  530. 30040 [141]17000
  531. 30050 [139][197](E1$)[177]0[167]31000
  532. 30060 R$[178][199](13):[152]5,BZ;R$;
  533. 30065 [152]5,N;R$;
  534. 30070 [152]5,NO;R$;
  535. 30075 [139]NO[178]0[167]30102
  536. 30080 [129]I[178]1[164]NO
  537. 30090 [152]5,CQ$(I)R$;
  538. 30092 [152]5,D$(I)R$;
  539. 30094 [152]5,A$(I)R$;
  540. 30100 [130]
  541. 30102 [152]5,SO;R$;
  542. 30104 [139]SO[178]0[167]30120
  543. 30106 [129]I[178]1[164]SO
  544. 30110 [152]5,SO$(I);R$;
  545. 30112 [152]5,SA$(I);R$;
  546. 30114 [130]
  547. 30120 [160]5:[160]15
  548. 30125 [139]XT[178]1[167]40100
  549. 30130 [128]
  550. 31000 [153]"CLRERROR:OPEN"E1$" "E2$" "E3$" "E4$
  551. 31010 [153]"SYSPRESS ANY KEY TO RE-SAVE"
  552. 31020 [151]198,0:[146]198,1:[151]198,0
  553. 31030 [137]30000
  554. 40000 [153]"LOADSYSTHERE IS NOT ENOUGH ROOM TO STORE ANY","MORE TRANSACTIONS."
  555. 40010 [153]"CREATING SPACE FOR 10 MORE."
  556. 40020 N[178]N[170]10
  557. 40030 [153]"LISTYOU MUST NOW SAVE CHEQUE DATA."
  558. 40040 [153]"PRESS ANY KEY TO DO SO."
  559. 40050 [151]198,0:[146]198,1:[151]198,0
  560. 40070 XT[178]1:[137]30000
  561. 40080 [153]"LISTNOW PRESS A KEY TO RE-LOAD DATA."
  562. 40090 [151]198,0:[146]198,1:[151]198,0
  563. 40100 [138]
  564. 60000 [151]53280,0:[151]53281,0:[153]"LOADRETURN":[151]198,0
  565. 60001 [153],"CMDSYSNEWRNDRNDRNDNEWRNDNEWRND***NEW*NEW*NEW*NEW**"
  566. 60002 [153],"CMDGETLOGWAITGETLOGWAITGETGETGETGETGETWAITRNDGETSINGETGETGETGETGETSIN"
  567. 60003 [153],"CMDLOGWAITRNDGETGETLOGWAITRNDLOGLOGGETCOSGETWAITNEWGETCOSGETCOSGETCOSGETGET"
  568. 60004 [153],"NEWRNDNEWRNDNEWRNDNEWRNDRND***NEW*NEW*NEW"
  569. 60005 [153],"GETGETLOGWAITGETGETLOGWAITGET*COSGETGETWAITNEWGETWAITRNDGETCOS"
  570. 60006 [153],"LOGWAITGET*WAITRNDLOGWAITGETGETGETGETGETGETWAIT*COSGETWAITNEWGETWAITSIN"
  571. 60007 [153],"CONT*NEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWRND"
  572. 60008 [153],"GETWRITTEN  BYWAITGET"
  573. 60009 [153],"LOGNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWWAITCOSSYS"
  574. 60010 [153],"CMDCMDCMDNEWRNDNEWRNDNEWRNDNEWRNDNEWRNDRNDRNDNEWRNDRNDNEWRNDRNDRNDRNDRNDRND"
  575. 60011 [153],"CMDCMDCMDLOGWAITGETLOGGETLOGLOGWAITGETGETRNDGETLOGWAITGETGETLOGWAITGETGETGETGET"
  576. 60012 [153],"CMDCMDCMDGETLOGWAITRNDGETLOGWAITRND*WAITRNDLOGWAITSINGETLOGWAITRNDGETLOGWAITGETGETGETGETLOGWAITRNDLOGWAITRND"
  577. 60013 [153]"ONPRESS ANY KEY TO START, OR I FOR INFO."
  578. 60014 [161]A$:[139]A$[178]""[167]A[178][171](A[178][171]A):[151]646,A[170]3:[137]60013
  579. 60015 [139]A$[179][177]"I"[167][142]
  580. 60016 [153]"LOADFORLENHEQUE PEEKOOK (null)RGANISERSYS WAS WRITTEN BY"
  581. 60017 [153]"(null)ETER (null)EIGHILLSYS DURING ATNUGUST 1990."
  582. 60018 [153]"(null)HANKS TO (null)UMSYS FOR THE CONTORIGINAL IDEASYS."
  583. 60019 [153]"(null)HANKS TO STR$AD SYSFOR HELPING TO WRITE THE"
  584. 60020 [153]"CONTINSTRUCTIONSSYS FOR THIS PROGRAM."
  585. 60021 [153]"PRINT(null)RESS ANY KEY TO START."
  586. 60022 [161]A$:[139]A$[178]""[167]60022
  587. 60023 [142]
  588.